package com.ourteam.product.model.dao;

/**
 * Template Name : DAO数据对象
 * Template Version : 1
 * Template Last Modfiy Date : Fri Aug 18 15:51:23 IRKT 2017
 * Auto Generate Date : 2017-11-17 11:00:55
  * Warning ! This file will be overwrite when regenerate !
  *
 */
import org.apache.commons.lang.StringUtils;


public class ProductModelServiceFeatureRelate implements java.io.Serializable {
    private long id;

    /**
     * Attribute id Be Seted Falg
     */
    private boolean idSetted = false;

    /**
    * Attribute id is Null Falg
    */
    private boolean idNull = false;
    private long serviceId;

    /**
     * Attribute serviceId Be Seted Falg
     */
    private boolean serviceIdSetted = false;

    /**
    * Attribute serviceId is Null Falg
    */
    private boolean serviceIdNull = false;
    private String status;

    /**
     * Attribute status Be Seted Falg
     */
    private boolean statusSetted = false;

    /**
    * Attribute status is Null Falg
    */
    private boolean statusNull = false;
    private String remarks;

    /**
     * Attribute remarks Be Seted Falg
     */
    private boolean remarksSetted = false;

    /**
    * Attribute remarks is Null Falg
    */
    private boolean remarksNull = false;
    private long featureVersionRelateId;

    /**
     * Attribute featureVersionRelateId Be Seted Falg
     */
    private boolean featureVersionRelateIdSetted = false;

    /**
    * Attribute featureVersionRelateId is Null Falg
    */
    private boolean featureVersionRelateIdNull = false;
    private String serviceName;

    /**
     * Attribute serviceName Be Seted Falg
     */
    private boolean serviceNameSetted = false;

    /**
    * Attribute serviceName is Null Falg
    */
    private boolean serviceNameNull = false;
    private String serviceCanTest;

    /**
     * Attribute serviceCanTest Be Seted Falg
     */
    private boolean serviceCanTestSetted = false;

    /**
    * Attribute serviceCanTest is Null Falg
    */
    private boolean serviceCanTestNull = false;
    private long featureId;

    /**
     * Attribute featureId Be Seted Falg
     */
    private boolean featureIdSetted = false;
    private String featureName;

    /**
     * Attribute featureName Be Seted Falg
     */
    private boolean featureNameSetted = false;
    private String keyFeature;

    /**
     * Attribute keyFeature Be Seted Falg
     */
    private boolean keyFeatureSetted = false;
    private String featureCanTest;

    /**
     * Attribute featureCanTest Be Seted Falg
     */
    private boolean featureCanTestSetted = false;
    private String productName;

    /**
     * Attribute productName Be Seted Falg
     */
    private boolean productNameSetted = false;
    private String productVersion;

    /**
     * Attribute productVersion Be Seted Falg
     */
    private boolean productVersionSetted = false;
    private long productDefineId;

    /**
     * Attribute productDefineId Be Seted Falg
     */
    private boolean productDefineIdSetted = false;
    private long productVersionId;

    /**
     * Attribute productVersionId Be Seted Falg
     */
    private boolean productVersionIdSetted = false;

    public ProductModelServiceFeatureRelate() {
        super();
    }

    /**
         * Get id
         *
         * @return long
         */
    final public long getId() {
        return id;
    }

    /**
     * Set id
     *
     * @param long
     */
    final public void setId(long id) {
        this.id = id;

        this.idSetted = true;

        this.setIdNull(false);
    }

    /**
     * Get id Has Been Setted
     *
     * @return boolean
     */
    final public boolean isIdSetted() {
        return this.idSetted;
    }

    /**
     * Set id Null
     *
     */
    final public void setIdNull() {
        this.idNull = true;
    }

    final public void setIdNull(boolean aNullFlag) {
        this.idNull = aNullFlag;
    }

    final public boolean isIdNull() {
        return this.idNull;
    }

    /**
         * Get serviceId
         *
         * @return long
         */
    final public long getServiceId() {
        return serviceId;
    }

    /**
     * Set serviceId
     *
     * @param long
     */
    final public void setServiceId(long serviceId) {
        this.serviceId = serviceId;

        this.serviceIdSetted = true;

        this.setServiceIdNull(false);
    }

    /**
     * Get serviceId Has Been Setted
     *
     * @return boolean
     */
    final public boolean isServiceIdSetted() {
        return this.serviceIdSetted;
    }

    /**
     * Set serviceId Null
     *
     */
    final public void setServiceIdNull() {
        this.serviceIdNull = true;
    }

    final public void setServiceIdNull(boolean aNullFlag) {
        this.serviceIdNull = aNullFlag;
    }

    final public boolean isServiceIdNull() {
        return this.serviceIdNull;
    }

    /**
         * Get status
         *
         * @return String
         */
    final public String getStatus() {
        if (isStatusNull()) {
            return null;
        } else {
            return StringUtils.trim(status);
        }
    }

    /**
     * Set status
     *
     * @param String
     */
    final public void setStatus(String status) {
        this.status = StringUtils.trim(status);

        this.statusSetted = true;

        this.setStatusNull(this.status == null);
    }

    /**
     * Get status Has Been Setted
     *
     * @return boolean
     */
    final public boolean isStatusSetted() {
        return this.statusSetted;
    }

    /**
     * Set status Null
     *
     */
    final public void setStatusNull() {
        this.statusNull = true;
    }

    final public void setStatusNull(boolean aNullFlag) {
        this.statusNull = aNullFlag;
    }

    final public boolean isStatusNull() {
        return this.statusNull;
    }

    /**
         * Get remarks
         *
         * @return String
         */
    final public String getRemarks() {
        if (isRemarksNull()) {
            return null;
        } else {
            return StringUtils.trim(remarks);
        }
    }

    /**
     * Set remarks
     *
     * @param String
     */
    final public void setRemarks(String remarks) {
        this.remarks = StringUtils.trim(remarks);

        this.remarksSetted = true;

        this.setRemarksNull(this.remarks == null);
    }

    /**
     * Get remarks Has Been Setted
     *
     * @return boolean
     */
    final public boolean isRemarksSetted() {
        return this.remarksSetted;
    }

    /**
     * Set remarks Null
     *
     */
    final public void setRemarksNull() {
        this.remarksNull = true;
    }

    final public void setRemarksNull(boolean aNullFlag) {
        this.remarksNull = aNullFlag;
    }

    final public boolean isRemarksNull() {
        return this.remarksNull;
    }

    /**
         * Get featureVersionRelateId
         *
         * @return long
         */
    final public long getFeatureVersionRelateId() {
        return featureVersionRelateId;
    }

    /**
     * Set featureVersionRelateId
     *
     * @param long
     */
    final public void setFeatureVersionRelateId(long featureVersionRelateId) {
        this.featureVersionRelateId = featureVersionRelateId;

        this.featureVersionRelateIdSetted = true;

        this.setFeatureVersionRelateIdNull(false);
    }

    /**
     * Get featureVersionRelateId Has Been Setted
     *
     * @return boolean
     */
    final public boolean isFeatureVersionRelateIdSetted() {
        return this.featureVersionRelateIdSetted;
    }

    /**
     * Set featureVersionRelateId Null
     *
     */
    final public void setFeatureVersionRelateIdNull() {
        this.featureVersionRelateIdNull = true;
    }

    final public void setFeatureVersionRelateIdNull(boolean aNullFlag) {
        this.featureVersionRelateIdNull = aNullFlag;
    }

    final public boolean isFeatureVersionRelateIdNull() {
        return this.featureVersionRelateIdNull;
    }

    /**
         * Get serviceName
         *
         * @return String
         */
    final public String getServiceName() {
        if (isServiceNameNull()) {
            return null;
        } else {
            return StringUtils.trim(serviceName);
        }
    }

    /**
     * Set serviceName
     *
     * @param String
     */
    final public void setServiceName(String serviceName) {
        this.serviceName = StringUtils.trim(serviceName);

        this.serviceNameSetted = true;

        this.setServiceNameNull(this.serviceName == null);
    }

    /**
     * Get serviceName Has Been Setted
     *
     * @return boolean
     */
    final public boolean isServiceNameSetted() {
        return this.serviceNameSetted;
    }

    /**
     * Set serviceName Null
     *
     */
    final public void setServiceNameNull() {
        this.serviceNameNull = true;
    }

    final public void setServiceNameNull(boolean aNullFlag) {
        this.serviceNameNull = aNullFlag;
    }

    final public boolean isServiceNameNull() {
        return this.serviceNameNull;
    }

    /**
         * Get serviceCanTest
         *
         * @return String
         */
    final public String getServiceCanTest() {
        if (isServiceCanTestNull()) {
            return null;
        } else {
            return StringUtils.trim(serviceCanTest);
        }
    }

    /**
     * Set serviceCanTest
     *
     * @param String
     */
    final public void setServiceCanTest(String serviceCanTest) {
        this.serviceCanTest = StringUtils.trim(serviceCanTest);

        this.serviceCanTestSetted = true;

        this.setServiceCanTestNull(this.serviceCanTest == null);
    }

    /**
     * Get serviceCanTest Has Been Setted
     *
     * @return boolean
     */
    final public boolean isServiceCanTestSetted() {
        return this.serviceCanTestSetted;
    }

    /**
     * Set serviceCanTest Null
     *
     */
    final public void setServiceCanTestNull() {
        this.serviceCanTestNull = true;
    }

    final public void setServiceCanTestNull(boolean aNullFlag) {
        this.serviceCanTestNull = aNullFlag;
    }

    final public boolean isServiceCanTestNull() {
        return this.serviceCanTestNull;
    }

    /**
         * Get featureId
         *
         * @return long
         */
    final public long getFeatureId() {
        return featureId;
    }

    /**
     * Set featureId
     *
     * @param long
     */
    final public void setFeatureId(long featureId) {
        this.featureId = featureId;

        this.featureIdSetted = true;
    }

    /**
     * Get featureId Has Been Setted
     *
     * @return boolean
     */
    final public boolean isFeatureIdSetted() {
        return this.featureIdSetted;
    }

    /**
         * Get featureName
         *
         * @return String
         */
    final public String getFeatureName() {
        return featureName;
    }

    /**
     * Set featureName
     *
     * @param String
     */
    final public void setFeatureName(String featureName) {
        this.featureName = StringUtils.trim(featureName);

        this.featureNameSetted = true;
    }

    /**
     * Get featureName Has Been Setted
     *
     * @return boolean
     */
    final public boolean isFeatureNameSetted() {
        return this.featureNameSetted;
    }

    /**
         * Get keyFeature
         *
         * @return String
         */
    final public String getKeyFeature() {
        return keyFeature;
    }

    /**
     * Set keyFeature
     *
     * @param String
     */
    final public void setKeyFeature(String keyFeature) {
        this.keyFeature = StringUtils.trim(keyFeature);

        this.keyFeatureSetted = true;
    }

    /**
     * Get keyFeature Has Been Setted
     *
     * @return boolean
     */
    final public boolean isKeyFeatureSetted() {
        return this.keyFeatureSetted;
    }

    /**
         * Get featureCanTest
         *
         * @return String
         */
    final public String getFeatureCanTest() {
        return featureCanTest;
    }

    /**
     * Set featureCanTest
     *
     * @param String
     */
    final public void setFeatureCanTest(String featureCanTest) {
        this.featureCanTest = StringUtils.trim(featureCanTest);

        this.featureCanTestSetted = true;
    }

    /**
     * Get featureCanTest Has Been Setted
     *
     * @return boolean
     */
    final public boolean isFeatureCanTestSetted() {
        return this.featureCanTestSetted;
    }

    /**
         * Get productName
         *
         * @return String
         */
    final public String getProductName() {
        return productName;
    }

    /**
     * Set productName
     *
     * @param String
     */
    final public void setProductName(String productName) {
        this.productName = StringUtils.trim(productName);

        this.productNameSetted = true;
    }

    /**
     * Get productName Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductNameSetted() {
        return this.productNameSetted;
    }

    /**
         * Get productVersion
         *
         * @return String
         */
    final public String getProductVersion() {
        return productVersion;
    }

    /**
     * Set productVersion
     *
     * @param String
     */
    final public void setProductVersion(String productVersion) {
        this.productVersion = StringUtils.trim(productVersion);

        this.productVersionSetted = true;
    }

    /**
     * Get productVersion Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductVersionSetted() {
        return this.productVersionSetted;
    }

    /**
         * Get productDefineId
         *
         * @return long
         */
    final public long getProductDefineId() {
        return productDefineId;
    }

    /**
     * Set productDefineId
     *
     * @param long
     */
    final public void setProductDefineId(long productDefineId) {
        this.productDefineId = productDefineId;

        this.productDefineIdSetted = true;
    }

    /**
     * Get productDefineId Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductDefineIdSetted() {
        return this.productDefineIdSetted;
    }

    /**
         * Get productVersionId
         *
         * @return long
         */
    final public long getProductVersionId() {
        return productVersionId;
    }

    /**
     * Set productVersionId
     *
     * @param long
     */
    final public void setProductVersionId(long productVersionId) {
        this.productVersionId = productVersionId;

        this.productVersionIdSetted = true;
    }

    /**
     * Get productVersionId Has Been Setted
     *
     * @return boolean
     */
    final public boolean isProductVersionIdSetted() {
        return this.productVersionIdSetted;
    }

    public int hashCode() {
        final int prime = 31;
        int result = 1;

        result = (prime * result) + (int) (getId() ^ (getId() >>> 32));

        return result;
    }

    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }

        if ((obj instanceof ProductModelServiceFeatureRelate) == false) {
            return false;
        }

        ProductModelServiceFeatureRelate other = (ProductModelServiceFeatureRelate) obj;

        if (getId() != other.getId()) {
            return false;
        }

        return true;
    }

    public String toString() {
        StringBuffer buffer = new StringBuffer();

        buffer.append("[");

        buffer.append("id=");
        buffer.append(this.id);

        buffer.append("serviceId=");
        buffer.append(this.serviceId);

        buffer.append("featureId=");
        buffer.append(this.featureId);

        buffer.append("status=");
        buffer.append(this.status);

        buffer.append("remarks=");
        buffer.append(this.remarks);

        buffer.append("featureName=");
        buffer.append(this.featureName);

        buffer.append("keyFeature=");
        buffer.append(this.keyFeature);

        buffer.append("featureCanTest=");
        buffer.append(this.featureCanTest);

        buffer.append("serviceName=");
        buffer.append(this.serviceName);

        buffer.append("serviceCanTest=");
        buffer.append(this.serviceCanTest);

        buffer.append("productName=");
        buffer.append(this.productName);

        buffer.append("productVersion=");
        buffer.append(this.productVersion);

        buffer.append("productDefineId=");
        buffer.append(this.productDefineId);

        buffer.append("productVersionId=");
        buffer.append(this.productVersionId);

        buffer.append("featureVersionRelateId=");
        buffer.append(this.featureVersionRelateId);

        buffer.append("]");

        return buffer.toString();
    }
}
